The present invention is directed to reducing radio frequency emissions and, more particularly, the present invention is directed to arrangements for reducing emissions on high-speed serial buses.
Any time high frequency signals travel through a wire or a bus, electromagnetic radiation or emissions are produced. In order to prevent interference in the communication bands, regulation agencies, such as the Federal Communications Commission in the United States require that the radio frequency interference (RFI) be limited. It is possible, of course, to prevent such RFI by shielding the equipment, although this involves some cost. In digital systems, such as in a serial bus, as the data rate increases, repetitive signals can produce emissions that can fall into the radio frequency range. However, as long as the data signals occur in a random pattern, the emissions are spread more widely across the spectrum and thus do not create problems. However, if a signal is repeated for a long period of time, the emissions fall into a limited number of frequencies so that an RFI problem is created at those frequencies.
One currently used encoding scheme is the 8B/10B encoding scheme described in U.S. Pat. No. 4,486,739 which utilizes special control characters which contain unique bit sequences and are different from the normal data characters which are commonly used. Control characters are used to obtain and maintain a data clock, and one bit sequence contained in some control characters, the xe2x80x9ccommaxe2x80x9d, is used to obtain and maintain word synchronization. These sequencesxe2x80x94generally referred to as primitivesxe2x80x94typically begin with a control character followed by three data characters, with the four character sequence being unique and defining each primitive. The control character at the start of the primitive may, but is not required to, contain a comma depending on the implementation. User data is typically transmitted between two such primitivesxe2x80x94which delineate the beginning and end of a block of user data.
However, if these control characters become repetitive, an RFI problem can be created. For example, if a system which is receiving a signal has a buffer which is full, it will send back a HOLD signal to indicate that no more data should be sent at this time. This HOLD signal may be repeated continuously until the buffer has room for receiving more data. This repetitive HOLD signal will produce an RFI problem.
One method to avoid problems from repetitive control characters is to utilize a small number of control signals interchangeably so that they are not repeated very often. Thus, the same control signal may take any one of 8 or so forms which are rotated in use. Thus, the repetitive nature of the signal is then reduced. Furthermore, it requires that the system utilize a larger number of control characters which requires larger storage and impacts the complexity of generating and decoding them. Also, since the characters are fairly similar, the EMI reduction is not very good.
Another process is to scramble the signals which are being transmitted. That is, repetitive signals are scrambled to a different form each time so that different frequencies are generated from the bus to avoid emissions at specific frequencies. Specific methods of scrambling are well known. However, problems arise in systems such as 8B/10B, since specific control characters must be utilized in order to maintain synchronization and to be recognized at the receiving end. While scrambling will work for data streams, if the control characters are scrambled, they will not be recognized and the signal will not be handled properly at the other end